package com.care.dao.model;

import java.util.Date;
import java.util.List;
import javax.persistence.*;

public class Service {
    /**
     * 物理主键
     */
    @Id
    @Column(name = "service_id")
    private Integer serviceId;

    /**
     * 服务类型
     */
    @Column(name = "service_type")
    private String serviceType;

    /**
     * 服务申请人
     */
    @Column(name = "user_id")
    private Integer userId;

    @Transient
    private User publishUser;

    /**
     * 社区ID
     */
    @Column(name = "community_id")
    private Integer communityId;

    @Transient
    private Community community;

    /**
     * 发布时间
     */
    @Column(name = "publish_time")
    private Date publishTime;

    /**
     * 服务标题
     */
    private String title;

    /**
     * 附加图片
     */
    private String pics;

    @Transient
    private List<String> picList;

    private String mobile;

    /**
     * 处理状态：0待处理；1处理中；2已完成；3已反馈
     */
    private Integer status;

    /**
     * 处理人ID（志愿者）
     */
    @Column(name = "accept_user_id")
    private Integer acceptUserId;

    @Transient
    private User volunteer;

    /**
     * 接单时间
     */
    @Column(name = "accept_time")
    private Date acceptTime;

    /**
     * 完成时间
     */
    @Column(name = "finish_time")
    private Date finishTime;

    /**
     * 评价分数
     */
    @Column(name = "feedback_rate")
    private Integer feedbackRate;

    /**
     * 评价内容
     */
    private String feedback;

    /**
     * 备注
     */
    private String remark;

    /**
     * 详情内容
     */
    private String content;

    /**
     * 获取物理主键
     *
     * @return service_id - 物理主键
     */
    public Integer getServiceId() {
        return serviceId;
    }

    /**
     * 设置物理主键
     *
     * @param serviceId 物理主键
     */
    public void setServiceId(Integer serviceId) {
        this.serviceId = serviceId;
    }

    /**
     * 获取服务类型
     *
     * @return service_type - 服务类型
     */
    public String getServiceType() {
        return serviceType;
    }

    /**
     * 设置服务类型
     *
     * @param serviceType 服务类型
     */
    public void setServiceType(String serviceType) {
        this.serviceType = serviceType == null ? null : serviceType.trim();
    }

    /**
     * 获取服务申请人
     *
     * @return user_id - 服务申请人
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 设置服务申请人
     *
     * @param userId 服务申请人
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 获取社区ID
     *
     * @return community_id - 社区ID
     */
    public Integer getCommunityId() {
        return communityId;
    }

    /**
     * 设置社区ID
     *
     * @param communityId 社区ID
     */
    public void setCommunityId(Integer communityId) {
        this.communityId = communityId;
    }

    /**
     * 获取发布时间
     *
     * @return publish_time - 发布时间
     */
    public Date getPublishTime() {
        return publishTime;
    }

    /**
     * 设置发布时间
     *
     * @param publishTime 发布时间
     */
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    /**
     * 获取服务标题
     *
     * @return title - 服务标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置服务标题
     *
     * @param title 服务标题
     */
    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    /**
     * 获取附加图片
     *
     * @return pics - 附加图片
     */
    public String getPics() {
        return pics;
    }

    /**
     * 设置附加图片
     *
     * @param pics 附加图片
     */
    public void setPics(String pics) {
        this.pics = pics == null ? null : pics.trim();
    }

    /**
     * 获取处理状态：0待处理；1处理中；2已完成；3已反馈
     *
     * @return status - 处理状态：0待处理；1处理中；2已完成；3已反馈
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置处理状态：0待处理；1处理中；2已完成；3已反馈
     *
     * @param status 处理状态：0待处理；1处理中；2已完成；3已反馈
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取处理人ID（志愿者）
     *
     * @return accept_user_id - 处理人ID（志愿者）
     */
    public Integer getAcceptUserId() {
        return acceptUserId;
    }

    /**
     * 设置处理人ID（志愿者）
     *
     * @param acceptUserId 处理人ID（志愿者）
     */
    public void setAcceptUserId(Integer acceptUserId) {
        this.acceptUserId = acceptUserId;
    }

    /**
     * 获取接单时间
     *
     * @return accept_time - 接单时间
     */
    public Date getAcceptTime() {
        return acceptTime;
    }

    /**
     * 设置接单时间
     *
     * @param acceptTime 接单时间
     */
    public void setAcceptTime(Date acceptTime) {
        this.acceptTime = acceptTime;
    }

    /**
     * 获取评价分数
     *
     * @return feedback_rate - 评价分数
     */
    public Integer getFeedbackRate() {
        return feedbackRate;
    }

    /**
     * 设置评价分数
     *
     * @param feedbackRate 评价分数
     */
    public void setFeedbackRate(Integer feedbackRate) {
        this.feedbackRate = feedbackRate;
    }

    /**
     * 获取评价内容
     *
     * @return feedback - 评价内容
     */
    public String getFeedback() {
        return feedback;
    }

    /**
     * 设置评价内容
     *
     * @param feedback 评价内容
     */
    public void setFeedback(String feedback) {
        this.feedback = feedback == null ? null : feedback.trim();
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 获取详情内容
     *
     * @return content - 详情内容
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置详情内容
     *
     * @param content 详情内容
     */
    public void setContent(String content) {
        this.content = content == null ? null : content.trim();
    }

    public List<String> getPicList() {
        return picList;
    }

    public void setPicList(List<String> picList) {
        this.picList = picList;
    }

    public User getPublishUser() {
        return publishUser;
    }

    public void setPublishUser(User publishUser) {
        this.publishUser = publishUser;
    }

    public Community getCommunity() {
        return community;
    }

    public void setCommunity(Community community) {
        this.community = community;
    }

    public User getVolunteer() {
        return volunteer;
    }

    public void setVolunteer(User volunteer) {
        this.volunteer = volunteer;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }
}